我們花了很多時間講解自動配置原理,原因無它,就是讓我們更知道如何使用它如何修改它。當你想要Spring Boot幫你完成某些事情的時候你會怎麼做呢?
下載Redis
解壓
啟動
選取場景web與redis
配置文件的修改是spring.data.redis開頭,預設是在localhost的6379 port
autoconfigure提供RedisTemplate、StringTemplate可供使用
@RestController
public class HelloController {
@Autowired
StringRedisTemplate stringRedisTemplate;
@RequestMapping("/hello")
public String hello(){
//針對某個字串增加計數
Long count=stringRedisTemplate.opsForValue().increment("hello");
return "hello:"+count;
}
}
執行redis-cli.exe,確認hello被寫入
由於AutoConfiguration中StringTemplate上頭的@ConditionalOnMissingBean代表不存在該Bean時才向container,我們來測試看看自定義的方式建立RedisConfiguration
package com.swj.day11.controller.config;
//import略
@Configuration
public class RedisConfiguration {
@Bean
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
System.out.println("這是客製化stringRedisTemplate");
return new StringRedisTemplate(redisConnectionFactory);
}
}